package org.zywx.wbpalmstar.plugin.uexaudio; import org.zywx.wbpalmstar.base.ResoureFinder; import android.content.Context; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.TextView; public class MusicFileAdapter extends BaseAdapter { private String[] list_item; private LayoutInflater m_inflater; private onTextItemListener textListener=null; private Context context=null; public MusicFileAdapter(Context context,String[] _list){ this.context=context; m_inflater = LayoutInflater.from(context); list_item=_list; } @Override public int getCount() { return list_item.length; } @Override public Object getItem(int position) { return list_item[position]; } @Override public long getItemId(int position) { return position; } public void setListener(onTextItemListener listener) { textListener = listener; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewCache viewCache = null; if (convertView == null){ viewCache = new ViewCache(); convertView = m_inflater.inflate(ResoureFinder.getInstance().getLayoutId(context, "plugin_audio_file_list_item"), null); viewCache.textview = (TextView) convertView.findViewById(ResoureFinder.getInstance().getId(context, "plugin_music_file_list_item_text")); convertView.setTag(viewCache); }else{ viewCache = (ViewCache) convertView.getTag(); } viewCache.textview.setText(list_item[position].substring(list_item[position].lastIndexOf('/')+1)); viewCache.textview.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_UP: if(textListener!=null){ textListener.onItemClick(null, position); } break; case MotionEvent.ACTION_DOWN: break; } return false; } }); return convertView; } private static class ViewCache { public TextView textview; } public static interface onTextItemListener{ void onItemClick(Button button, int postion); } }